package leetcode;

import java.util.Scanner;

//        连接性问题（并查集）
//        有12张连在一起的12生肖的邮票。
//        现在你要从中剪下5张来，要求必须是连着的。
//        （仅仅连接一个角不算相连）
//        比如，【图2.jpg】，【图3.jpg】中，粉红色所示部分就是合格的剪取。
//        请你计算，一共有多少种不同的剪取方法。
//        请填写表示方案数目的整数。
//        注意：你提交的应该是一个整数，不要填写任何多余的内容或说明性文字。
//        思路： 感觉还是先排列，从12个邮票中选5个出来，
//        然后对每个邮票搜索，同一行，同一列，则表示连接到，如果连接到就定义
//        该块邮票被访问过，最后判断5个邮票是否都被访问过，是就说明是连通的，
//        但是这个不是全排列，应该是从12个选5个出来
//        从12个选5个。判断5个是否相连，符合一个visit设为true，五个true，count++
public class Disjoint_Set_Union {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[]set=new int[n+1];

    }
//    public static boolean dfs(){
//
//    }

//    public static int  fina_set(int[]set,int x){//查找父类
//        if(x!=set[x]){ return set[x]=fina_set(set,set[x]);
//        }else{
//            return set[x];
//        }
//    }
//    public static void id(int[]set){//初始化并查集
//        for (int i = 1; i <= set.length; i++) {
//            set[i]=i;
//        }
//    }
//    public static void Merge(int x,int y,int[]set){//合并并查集(俩个人是有关系任用set建立关系)
//        int t1=fina_set(set,x);
//        int t2=fina_set(set,y);
//        set[t2]=t1;//（朋友的朋友也是朋友）
//    }
}

//剪邮票
//public class Disjoint_Set_Union {
//    static int a[]=new int [100];
//    public static void main(String[] args) {
//        int count=0;
//        for(a[0]=0;a[0]<12;a[0]++){
//            for(a[1]=a[0]+1;a[1]<12;a[1]++){
//                for(a[2]=a[1]+1;a[2]<12;a[2]++){
//                    for(a[3]=a[2]+1;a[3]<12;a[3]++){
//                        for(a[4]=a[3]+1;a[4]<12;a[4]++){
//                            if(judge()){
//                                count++;
//                            }
//                        }
//                    }
//                }
//            }
//        }
//        System.out.println(count);
//    }
//    private static boolean judge() {
//        boolean ed[]=new boolean[5];
//        dfs(ed,0);
//        return ed[0]&&ed[1]&&ed[2]&&ed[3]&&ed[4];
//
//    }
//    private static void dfs(boolean[] ed, int i) {
//        ed[i]=true;
//        for(int j=0;j<ed.length;j++){
//            if(!ed[j]&&(a[i]/4==a[j]/4)&&(a[i]==a[j]+1||a[i]==a[j]-1)){
//                dfs(ed,j);
//            }
//            if(!ed[j]&&(a[i]==a[j]+4||a[i]==a[j]-4)){
//                dfs(ed,j);
//            }
//        }
//
//    }
//
//}